package com.my.core.util;//package com.my.thread.utils;
//
//import cn.hutool.core.date.DateUtil;
//import lombok.extern.slf4j.Slf4j;
//
//import java.lang.reflect.Method;
//import java.util.Date;
//
///**
// * 提供公共的方法，用于在添加和修改数据库的时候，给bean设置时间相关和用户相关属性
// * @author timo
// * @date 2020/11/6 15:00
// */
//@Slf4j
//public class EntityUtil {
//
//    /**
//     * 设置createBy createTime sysOrgCode
//     * @author tangzongyuan @date 2020/11/6 14:55
//     */
//    public static void commonCreate(Object entity){
//        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//        if(sysUser == null){
//            log.warn("无法获取登录用户，无法设置entity的createBy,createTime");
//            return;
//        }
//        try {
//            Method setCreateBy = entity.getClass().getDeclaredMethod("setCreateBy", String.class);
//            setCreateBy.invoke(entity, sysUser.getUsername());
//            Method setCreateTime = entity.getClass().getMethod("setCreateTime", Date.class);
//            setCreateTime.invoke(entity, new Date());
//        } catch (Exception e) {
//            log.error("反射设置entity的create信息发生错误: 实体信息：{}，当前登录用户信息：{}", entity, sysUser);
//            log.error("", e);
//        }
//    }
//
//    /**
//     * 设置updateBy，updateTime
//     */
//    public  static void commonUpdate(Object entity){
//        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//        if(sysUser == null){
//            log.warn("无法获取登录用户，无法设置entity的updateBy,updateTime");
//            return;
//        }
//        try {
//            sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//            Method setUpdateBy = entity.getClass().getDeclaredMethod("setUpdateBy", String.class);
//            setUpdateBy.invoke(entity, sysUser.getUsername());
//            Method setUpdateTime = entity.getClass().getMethod("setUpdateTime", Date.class);
//            setUpdateTime.invoke(entity, new Date());
//        } catch (Exception e) {
//            log.error("反射设置entity的update信息发生错误: 实体信息：{}，当前登录用户信息：{}", entity, sysUser);
//            log.error("", e);
//        }
//    }
//
//    /**
//     * 创建事件编号
//     * @return
//     */
//    public static String createGridEventNo(){
//        String time = DateUtil.format(new Date(), "yyyyMMddHHmmss");
//        long number = Math.round(Math.random() * 1000000);
//        return time + number;
//    }
//}
